package com.xtayfjpk.jersey.test.service.app;

import java.util.HashSet;
import java.util.Set;

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

import com.xtayfjpk.jersey.test.service.MessageService;
import com.xtayfjpk.jersey.test.service.UserService;

/**
 * 该类一定要有，否则使用ServletContainerInitializer加载服务时无效，但是可以不用覆盖getClasses与getSingletons方法，服务类自动加载
 * @author zjin
 *
 */
@ApplicationPath("/app")
public class MyApplication extends Application {

	/**
	 * getClasses与getSingletons方法可以同时存在(并集)，覆盖了这两个方法后，web.xml中resteasy.resources contextParam可以不再配置
	 */
	@Override
	public Set<Class<?>> getClasses() {
		Set<Class<?>> classes = new HashSet<>();
		classes.add(UserService.class);
		classes.add(MessageService.class);
		return classes;
	}


	@Override
	public Set<Object> getSingletons() {
		Set<Object> singletons = new HashSet<>();
		singletons.add(new UserService());
		singletons.add(new MessageService());
		return singletons;
	}
}
